<?php

//Obtenemos todas las noticias ordenadas por fecha de publicacion
//Obtiene todas las noticias Publicadas(estado=1) con idioma y si no existe el idioma selecciona otro 
//PRUEBAS: BÁSICAS(OK)
function getNoticias() {

	$idioma = getIdioma();
	$estado = getEstado();

	$sql_traduccion = "(SELECT * FROM Noticia n1, Noticia_Locale n1loc WHERE n1.id = n1loc.id_noticia and n1loc.id_idioma =:idioma and n1.estado = :estado and n1loc.id_idioma = :idioma)";
	$sql_sin_traduccion = "(SELECT * FROM Noticia n2, Noticia_Locale n2loc WHERE n2.id = n2loc.id_noticia and n2.estado = :estado and NOT EXISTS (SELECT * FROM Noticia n_sub, Noticia_Locale nloc_sub WHERE n2.id = n2loc.id_noticia and n2.id = n_sub.id and n2.id = nloc_sub.id_noticia and nloc_sub.id_idioma = :idioma) GROUP BY(n2.id))";

	$sql = $sql_traduccion . " UNION " . $sql_sin_traduccion . " ORDER BY fecha_publicacion DESC LIMIT 50";

	try {
		$db = getConnection();
		$stmt = $db->prepare($sql);
		$stmt->bindParam("idioma", $idioma);
		$stmt->bindParam("estado", $estado);
		$stmt->execute();
		$noticias = $stmt->fetchAll(PDO::FETCH_OBJ);
		$db = null;
		echo $_GET['callback']."(".json_encode($noticias).");";
	} catch(PDOException $e) {
		echo '{"error":{"text":'. $e->getMessage() .'}}'; 
	}
}

//Obtenemos todas las noticias ordenadas por fecha de publicacion
//Segun las categorias seleccionadas
//Obtiene todas las noticias Publicadas(estado=1) con idioma y si no existe el idioma selecciona otro 
//PRUEBAS: BÁSICAS(OK)
function getNoticiasCategorias() {

	$idioma = getIdioma();
	$estado = getEstado();

	//categorias separadas por comas
	$categorias = $_GET['categorias'];
	$categorias = "(" . $categorias . ")";

	$sql_traduccion = "(SELECT * FROM Noticia n1, Noticia_Locale n1loc WHERE n1.id = n1loc.id_noticia and n1loc.id_idioma =:idioma and n1.estado = :estado and n1loc.id_idioma = :idioma and n1.id_categoria IN " . $categorias . ")";
	$sql_sin_traduccion = "(SELECT * FROM Noticia n2, Noticia_Locale n2loc WHERE n2.id = n2loc.id_noticia and n2.estado = :estado and n2.id_categoria IN " . $categorias . " and NOT EXISTS (SELECT * FROM Noticia n_sub, Noticia_Locale nloc_sub WHERE n2.id = n2loc.id_noticia and n2.id = n_sub.id and n2.id = nloc_sub.id_noticia and nloc_sub.id_idioma = :idioma) GROUP BY(n2.id))";

	$sql = $sql_traduccion . " UNION " . $sql_sin_traduccion . " ORDER BY fecha_publicacion DESC LIMIT 50";

	try {
		$db = getConnection();
		$stmt = $db->prepare($sql);
		$stmt->bindParam("idioma", $idioma);
		$stmt->bindParam("estado", $estado);
		$stmt->execute();
		$noticias = $stmt->fetchAll(PDO::FETCH_OBJ);
		$db = null;
		echo $_GET['callback']."(".json_encode($noticias).");";
	} catch(PDOException $e) {
		echo '{"error":{"text":'. $e->getMessage() .'}}'; 
	}
}




function getNoticia($id) {
	$idioma = getIdioma();
	
	$sql = "SELECT * FROM Noticia n, Noticia_Locale nl WHERE n.id = nl.id_noticia and nl.id_idioma =:idioma and id=:id";
	try {
		$db = getConnection();
		$stmt = $db->prepare($sql);  
		$stmt->bindParam("id", $id);
		$stmt->bindParam("idioma", $idioma);
		$stmt->execute();
		$notcia = $stmt->fetchObject();  
		$db = null;
		echo $_GET['callback']."(".json_encode($notcia).");"; 
	} catch(PDOException $e) {
		echo '{"error":{"text":'. $e->getMessage() .'}}'; 
	}
}

?>